/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 castle_gate_animation.h

	$Header: /heroes4/castle_gate_animation.h $

	$NoKeywords: $

 ************************************************************************/

#include "combat_creature_handler.h"
#include "combat_path.h"
#include "counted_animation.h"

#if !defined( CASTLE_GATE_ANIMATION_H_INCLUDED )
#define CASTLE_GATE_ANIMATION_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// --------------------------------------------------------------
// open gate animation object
// --------------------------------------------------------------
class t_open_gate_animation : public t_handler_base, public t_counted_animation
{
public:
	t_open_gate_animation( t_combat_creature&		  creature,
					       t_combat_path&			  path,
						   t_map_point_2d const&	  point, 
						   t_combat_creature_handler  handler );

	virtual void operator()();
protected:
	t_combat_creature&			m_creature;
	t_combat_path				m_path;
	t_map_point_2d				m_target;
	t_combat_creature_handler	m_end_handler;
};

typedef t_counted_ptr< t_open_gate_animation > t_open_gate_animation_ptr;

#endif // CASTLE_GATE_ANIMATION_H_INCLUDED